package com.jshcbd.modules.asset.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jshcbd.modules.asset.dto.ReceiveDto;
import com.jshcbd.modules.asset.dto.RenewDto;
import com.jshcbd.modules.asset.dto.RetrocedeDto;
import com.jshcbd.modules.asset.entity.RetrocedeEntity;
import com.jshcbd.modules.asset.entity.RetrocedeItemEntity;
import com.jshcbd.modules.asset.vo.RetrocedeVo;

/**
 * @author zhoucd
 * @date
 * @description
 */
public interface IAssetReturnService extends IService<RetrocedeEntity> {


    IPage<RetrocedeVo>  pageViewByAssetId(Page<RetrocedeVo> page, String assetId);


    IPage<RetrocedeVo>  pageView(Page<RetrocedeVo> page, QueryWrapper queryWrapper);


    IPage<RetrocedeItemEntity>  pageRetrocedeItemsByMainId(Page<RetrocedeItemEntity> page, String mainId);

    /**
     * 归还
     * @param retrocedeDto
     */
    void doRetrocede(RetrocedeDto retrocedeDto);


    /**
     * 转移
     * @param receive
     */
    void doMove(ReceiveDto receive);


    /**
     * 续期
     */
    void doRenew(RenewDto renewDto);

}
